package sdk.webview.fmc.com.fmcsdk.util;

import android.content.Context;
import android.preference.PreferenceManager;
import android.text.format.DateFormat;
import android.util.Log;

/**
 * Log
 *
 * @author
 */
public class XLog {

    public static boolean debugMode = true;

    public static void setDebugMode(boolean debugMode) {
        XLog.debugMode = debugMode;
    }

    public static void e(String tag, String msg) {
        if (debugMode) {
            Log.e(tag, msg);
        }
    }

    //要记录到本地的日志
    public static void i(String msg, Context context) {
        if (debugMode) {
            String log =
                    DateFormat.format("yyyy-MM-dd HH:mm", System.currentTimeMillis()) + "---->   "
                            + msg
                            + "\n===========================================分割线==============================================";
            Log.i(Thread.currentThread().getStackTrace()[3].getClassName(), log);
            if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean(Constant.OPEN_START_MODE, false)) {
                FMCLog.getInstance(context).info(Thread.currentThread().getStackTrace()[3].getClassName(), "日志级别：info:" + msg);
            }else {
            }
        }
    }

    //无需记录的
    public static void i(String msg) {
        if (debugMode) {
            String log = DateFormat.format("yyyy-MM-dd HH:mm", System.currentTimeMillis()) + "---->   "
                    + msg + "\n===========================================分割线==============================================";
            Log.i(Thread.currentThread().getStackTrace()[3].getClassName(), log);
        }
    }

    //保存H5日志
    public static void H5Log(String level, String msg, Context context) {

        if (debugMode) {
            String log = DateFormat.format("yyyy-MM-dd HH:mm", System.currentTimeMillis()) + "---->   "
                    + msg + "\n===========================================分割线==============================================";
            Log.i(Thread.currentThread().getStackTrace()[3].getClassName(),  "android端H5的网络日志 " + level + ":---" + log);

            if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean(Constant.OPEN_START_MODE, false)) {
                FMCLog.getInstance(context).info(Thread.currentThread().getStackTrace()[3].getClassName(), "日志级别："+level + ":---android端H5的网络日志---"+ msg);
            }else {
                if (level.equalsIgnoreCase("error")){
                    FMCLog.getInstance(context).info(Thread.currentThread().getStackTrace()[3].getClassName(), "日志级别："+level + ":---android端H5的网络日志---"+ msg);
                }
            }

        }
    }

    public static void w(String tag, String msg) {
        if (debugMode) {
            Log.w(tag, msg);
        }
    }

    public static void d(String tag, String msg) {
        if (debugMode) {
            Log.d(tag, msg);
        }
    }


    public static void Error(Context context, String tag, String message) {
        sendLog(context, tag, "【手机序列号：" + Utility.getIMEI(context) + "，手机型号：" + android.os.Build.MODEL + "，系统版本：" + android.os.Build.VERSION.RELEASE + "】" + message, "error");
        FMCLog.getInstance(context).error("异常", "日志级别：error:"+message);
    }

    private static void sendLog(Context context, String tag, String message, String type) {
//		HashMap<String, Object> map=new HashMap<String, Object>();
//		map.put("type", type);
//		map.put("tag", tag);
//		map.put("message", message);
//		map.put("time", DateUtil.getServerDate(context));
//		LogAction action=new LogAction(context, map);
//		ActionTask task=new ActionTask(context, action, false);
//		task.execute();
    }

}